package com.bjwl.dao;

import com.bjwl.pojo.Business;
import com.bjwl.pojo.Orders;
import com.bjwl.pojo.dto.PrintingDto;
import com.bjwl.pojo.vo.AdminOrdersQueryVo;
import com.bjwl.pojo.vo.TimerQueryVo;
import com.bjwl.utils.PageBean;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @Author: dzx
 * @Date:Create：in 2020/4/9 16:52
 * @Description:    派工单数据访问层
 * @Modified By：
 * @Version: 1.0
 */
@Repository
public interface OrdersMapper {

    Integer findOrderCardIdById(Integer id);

    /**
     * 根据分店id查询所有工单
     * @param branchstoreid 分店id
     * @return
     */
    List<Orders> findOrdersByBstoreid(Integer branchstoreid);

    /**
     * 根据管理员id查询当前分店派单信息
     * @param oid
     * @return
     */
    public Orders updateShowOrders(Integer oid);

    /**
     * 根据id修改当前派单信息
     * @param orders
     */
    public void updateOrdersByid(Orders orders);
    /**
            * 根据当前派单id删除当前派单信息
     * @param id
     */
    public void deleteOrders(Integer id);
    /**
     * 以下查询所有，条件查询，分页
     * @return
     */
    int getTotalRecord(AdminOrdersQueryVo adminOrdersQueryVo);

    List<Orders> findAllOrders(PageBean<Orders> pageBean, AdminOrdersQueryVo adminOrdersQueryVo);

    /**
     * 添加派单信息
     * @param orders
     */
    public void addOrders(Orders orders);
    Integer findAllOrdersTotalRecord();
    /**
     * 查询当前分店派单数
     * @param bsid
     */
    public Integer finOrdersCount(Integer bsid);

    //分页、模糊查询
   Integer orderPaging(Integer branchstoreid, Integer orstate, Integer orderid,String ordervalue , String wstarttime ,String wendtime ,String servproject);

    public List<Orders> findWorkByBstoreid(PageBean<Orders> pageBean, Integer branchstoreid, Integer orstate , Integer orderid, String ordervalue , String wstarttime ,String wendtime,String servproject);


    public Business addOrdersShowbusin(Integer buid);

    void updateOrstate(Orders orders);

    PrintingDto findPrintingById(Integer id);

    ArrayList<Orders> findOrdersJob(TimerQueryVo timerQueryVo);

    Integer findCardidByOid(Integer oid);

    PrintingDto findPrintingByIdtwo(Integer id);
}
